<?php
class OnlineSupport_ControlPanelController extends XPHP_Controller
{
    public function _init ()
    {
        $this->loadLayout('ControlPanel/XAdmin');
    }
    #[Authorize(roles = 'Administrator')]
    public function indexAction ()
    {
        //Hiển thị danh sách hỗ trợ
		$modelSupport = new Areas_OnlineSupport_Models_OnlineSupport();
		$arrSupport = $modelSupport->db->order_by('name', 'ASC')->get()->result();
		$deleteUrl = $this->url->action("delete");
		for ($i = 0; $i < count($arrSupport); $i ++) {
			//Lấy ra tên loại nhóm
            $modelGroup = new Areas_OnlineSupport_Models_SupportGroup();
            $group = $modelGroup->db->where('id', 
            $arrSupport[$i]->group_id)
                ->get()
                ->result();
            if (isset($group[0]))
                $arrSupport[$i]->group_name = $group[0]->name;
            else
                $arrSupport[$i]->group_name = "no";
			$editUrl = $this->url->action('edit', array($arrSupport[$i]->id));
			$commentUrl = $this->url->action('list','CommentControlPanel', 'Tours', array($arrSupport[$i]->id));
        	$arrSupport[$i]->action = "<a href='{$editUrl}' class='button ico-btn ico-text-edit tool-tip' title='Sửa' rel='edit'>
            					</a>
            					<a href='{$deleteUrl}' class='button ico-btn ico-text-trash tool-tip' item='{$arrSupport[$i]->name}' title='Xóa' 
            					data='{$arrSupport[$i]->id}' rel='delete'>
            					</a>";
		}
		$this->view->arrSupport = $arrSupport;
		return $this->view();
    }
    
    #[Authorize(roles = 'Administrator')]
    public function createAction ()
    {
        //Lấy danh sách nhóm hỗ trợ
        $modelGroup = new Areas_OnlineSupport_Models_SupportGroup();
        $arrGroup = $modelGroup->db->order_by('name', 'ASC')
            ->get()
            ->result();
        $groupSelectList[0] = 'Lựa chọn nhóm';
        foreach ($arrGroup as $group) {
            $groupSelectList[$group->id] = $group->name;
        }
        $this->view->arrGroup = $groupSelectList;
        return $this->view();
    }
    #[Authorize(roles = 'Administrator')]
    public function createPost (Areas_OnlineSupport_Models_OnlineSupport $mode = null)
    {
        if ($this->model->validate()) {
            if ($this->model->insert()) {
                return $this->json(
                array('success' => true, 
                'message' => 'Thêm mới thành công'));
            } else
                return $this->json(
                array('success' => false, 
                'message' => 'Xảy ra lỗi khi thêm mới'));
        } else
            return $this->json(
            array('success' => false, 
            'message' => 'Thông tin nhập vào chưa hợp lệ'));
    }
    #[Authorize(roles = 'Administrator')]
    public function editAction ($args)
    {
        $model = new Areas_OnlineSupport_Models_OnlineSupport($args[0]);
        //Lấy danh sách nhóm hỗ trợ
        $modelGroup = new Areas_OnlineSupport_Models_SupportGroup();
        $arrGroup = $modelGroup->db->order_by('name', 'ASC')
            ->get()
            ->result();
        $groupSelectList[0] = 'Lựa chọn nhóm';
        foreach ($arrGroup as $group) {
            $groupSelectList[$group->id] = $group->name;
        }
        echo $model->yahoo_id;
        $this->view->arrGroup = $groupSelectList;
        //Trả về view
       // return $this->view($model);
    }
    #[Authorize(roles = 'Administrator')]
    public function editPost ($args, Areas_OnlineSupport_Models_OnlineSupport $model = null)
    {
        if ($this->model->validate()) {
            //Kiểm tra xem người hỗ trợ đã tồn tại hay chưa
            if (! $this->model->exists(
            array('name' => $this->model->name, 
            'id !=' => $this->model->id))) {
                if ($this->model->update()) {
                    return $this->json(
                    array('success' => true, 
                    'message' => 'Cập nhật thông tin thành công'));
                } else
                    return $this->json(
                    array('success' => false, 
                    'message' => 'Xảy ra lỗi khi cố cập nhật thông tin'));
            } else
                return $this->json(
                array('success' => false, 
                'message' => 'Tên hỗ trợ này đã tồn tại trong hệ thống'));
        } else {
            return $this->json(
            array('success' => false, 
            'message' => 'Thông tinnhập vào chưa hợp lệ'));
        }
    }
    #[Authorize(roles = 'Administrator')]
    public function deletePost (Areas_OnlineSupport_Models_OnlineSupport $model = null)
    {
        if ($this->model->delete())
            return $this->json(
            array('success' => true, 'message' => 'Xóa thành công'));
        else
            return $this->json(
            array('success' => false, 
            'message' => 'Xảy ra lỗi khi cố gắng xóa'));
    }
}